package com.tencent.welink.api.space.history;

import com.tencent.welink.api.OpenApiTokenChange;
import com.tencent.welink.api.base.WelinkOpenApi;
import com.tencent.welink.config.BussinessConfig;
import com.tencent.welink.util.CrontabUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Map;

/**
 * @Description: 获取应用原始历史数据
 * 只能查询到message_type： 1000100，1000101，1000201，1000500 的数据
 * @Author: limye
 * @CreateDate: 2020-6-9
 * @Version: V1.0
 */
public class GetAppData extends WelinkOpenApi {

    private static final Logger log = LogManager.getLogger(GetAppData.class);

    public GetAppData(){
        super("/space/datahub/raw-data/getAppData",true);
    }


    @Override
    public void displayResult(String result) {
    }


    public static void main(String[] args) throws InterruptedException {
        new BussinessConfig();
        CrontabUtil.addTaskInRate(new OpenApiTokenChange(), BussinessConfig.loginDurationMinutes,true);

     //   for(int i=40666;i<41147;i++) {
            //实例化对象
            GetAppData instance = new GetAppData();

            //请求头
             instance.getHeaderPara().put("x-welink-app-id","41149");

            /**
             * 参数名	类型	必填	描述	**数据约束 **
             * appId	Long	是	要拉取的应用的appId
             * beginRecordId	String	否	起始记录id，可从返回结果中获取beginRecordId第一次可以不填
             * endRecordId	String	否	终止记录id
             * limit	int	否	拉取数量限制，最大500
             * token	String	是	动态密钥，有效期20分钟，需重新登录
             * beginTime	Long	是	开始时间，毫秒时间戳
             * endTime	Long	是	结束时间，毫秒时间戳
             * timeDesc	Boolean	否	true 从最近记录查询 false 从最早记录查询
             * project_id	String	否	项目编号
             */

            //添加参数
            Map<String, Object> map = instance.getExtendsPara();
            map.put("appId", 41149);

            map.put("limit", 20);
            map.put("beginTime", System.currentTimeMillis() - 6 * 24 * 3600 * 1000L);
            map.put("endTime", System.currentTimeMillis());
            map.put("timeDesc", true);


            //执行HTTP请求及展示结果
            instance.DoHttp();
            CrontabUtil.shutdown();

     //       Thread.sleep(100L);
    //    }
    }
}
